package com.itheima.mapper;

import com.itheima.domain.Product;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface ProductMapper {
    /**
     * 搜索商品信息
     * @param searchString 搜索条件
     * @return 搜索结果
     */
    @Select("select * from j_product where title like concat('%',#{searchString},'%')")
    List<Product> search(String searchString);

    /**
     * 添加商品信息
     * @param product 商品对象
     */
    @Insert("insert into j_product values(null,#{title},#{price},#{commit},#{shop},#{img},#{href},#{mark})")
    //useGeneratedKeys = true 表示获取主键自增的值。
    // keyProperty = "id" 表示自增的值赋值给参数bean对象的id属性
    // ,keyColumn = "id" 表示主键自动增长的字段名 ，也就是主键列列名
    @Options(useGeneratedKeys=true,keyProperty="id",keyColumn="id")
    void add(Product product);

    @Select("select * from j_product")
    List<Product> findAll();
}
